const express = require('../express');
const app = express();



// 在next中传参就以为中出错了，会跳过所有的中间件直接找到错误处理中间件
app.use('/a',function(req,res,next){
    console.log('*4*');
    next();
    console.log('*5*');
})

app.get('/', function (req, res,next) {
    next('error');
    // res.end('a')
})
app.get('/a', function (req, res,next) {
    res.end('a')
})
app.get('/b', function (req, res) {
    res.end('b')
})

// 类似于promise.catch
app.use((err,req,res,next)=>{ // 错误处理中间件 有4个参数， 比普通的中间多一个
    console.log('error1')
    next('error2');
})
app.use((err,req,res,next)=>{ // 错误处理中间件 有4个参数， 比普通的中间多一个
    console.log(err)
    next();
})
app.get('/',(req,res,next)=>{ // 错误处理中间件 有4个参数， 比普通的中间多一个
   res.end('ok')
})
app.listen(3000);


